import { requests } from '../../request/index.js'
import regeneratorRuntime from '../../lib/runtime/runtime';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 左侧的菜单数据
    leftMenuList:[],
    // 右侧菜单数据
    rightMenuList:[],
    // 被点击的左侧菜单高亮样式
    currenIndex:0,
    // 右侧内容的滚动条距离顶部的距离
    scrollIndex:0
  },
  // 保存缓存的数据
  Cate:[],
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // 获取缓存数据
    const Cate = wx.getStorageSync('cates')
    // 判断是否有缓存数据，没有就重新加载数据
    if(!Cate){
       this.getCateList()
      }
    else{
      // 检测到有缓存数据
      // 判断数据是否过期
      // 如果当前时间减去缓存文件的时间大于100秒，视为缓存数据已过期
      if(Date.now() - Cate.time>100000*10){
        this.getCateList()
      }
      else{
        // 把缓存文件传给this.Cate 让页面使用缓存数据来加载页面
        this.Cate = Cate.data
        // 提去Cate里面满足条件的数据并保存到一个数组中
        let leftMenuList = this.Cate.map(x=>x.cat_name)
        // 提前Cate数组中的children的值
        let rightMenuList = this.Cate[0].children
        this.setData({
          leftMenuList,
          rightMenuList,
        })
      }
    }
   
  },
  tabClick(e){
    
    var index = e.currentTarget.dataset.val
    let rightMenuList = this.Cate[index].children
    this.setData({
      currenIndex:index,
      rightMenuList,
      scrollIndex:0
    })
    
  },
 async getCateList(){
    // https://api-hmugo-web.itheima.net/api/public/v1/categories
    // requests({url:'/categories'})
    // .then(result=>{
    //   this.Cate = result.data.message;
    //   // 把数据缓存起来 保存到cates中  在OnLoad中调用
    //   wx.setStorageSync('cates', {time:Date.now(),data:this.Cate})
    //   let leftMenuList = this.Cate.map(x=>x.cat_name)
    //   let rightMenuList = this.Cate[0].children
    //   this.setData({
    //     leftMenuList,
    //     rightMenuList,

    //   })
    // })
    const res = await requests({url:'/categories'});
    this.Cate = res;
      // 把数据缓存起来 保存到cates中  在OnLoad中调用
      wx.setStorageSync('cates', {time:Date.now(),data:this.Cate})
      let leftMenuList = this.Cate.map(x=>x.cat_name)
      let rightMenuList = this.Cate[0].children
      this.setData({
        leftMenuList,
        rightMenuList,
       })

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})